/*
 * ColaMensajesReader.cpp
 *
 *  Created on: Nov 14, 2011
 *      Author: gonzalo
 */

#include "ColaMensajesReader.h"

ColaMensajesReader::ColaMensajesReader(ConditionVariable* inform,ColaMensajeRecibir* aLeer,ThreadSafeList* aLlenar,TypeNotifier tipoMensaje) {
	this->aLlenar = aLlenar;
	this->aLeer = aLeer;
	this->running = true;
	this->tipoMensaje = tipoMensaje;
	this->inform = inform;
}

void *ColaMensajesReader::run(){

	DTO* leido = NULL;
	while(running){
		leido = aLeer->getMensaje();
		if (leido) {
			aLlenar->insert(std::pair<void*, TypeNotifier>(leido, tipoMensaje));
			inform->signal();
		}
	}

	return NULL;
}
ColaMensajesReader::~ColaMensajesReader() {
}

void ColaMensajesReader::terminar(){
	this->running = false;
}

